#include "StdAfx.h"
#include "ClapdataFunc.h"

ClapdataFunc::ClapdataFunc(void)
{
}

ClapdataFunc::~ClapdataFunc(void)
{
}
// abc@bcd@ : sRetData = abc,sSrc = bcd@
BOOL ClapdataFunc::SplitString(LPCTSTR pszKey, CString& sRetData, CString& sSrc)
{
	sRetData.Empty();
	if (sSrc.IsEmpty() || pszKey == NULL)
	{
		return FALSE;
	}

	int nPos = sSrc.Find(pszKey, 0);
	if (nPos > 0)
	{
		sRetData = sSrc.Left(nPos);
		sSrc = sSrc.Right(sSrc.GetLength() - nPos - 1);

		return TRUE;
	}
	else
	{
		sRetData = sSrc;
		sRetData.TrimLeft();
		sRetData.TrimRight();
		if (!sRetData.IsEmpty())
		{
			sSrc.Empty();
			return TRUE;
		}
	}

	return FALSE;
}

int  ClapdataFunc::GetClapboardDimension(AcGeDoubleArray& arDimen,CString& scbData)
{
	arDimen.setLogicalLength(0);

	CString sData,sOffset;
	while (SplitString(KEY_CLP_MAIN_KEY,sData,scbData))
	{
		if (SplitString(KEY_CLP_SUB_KEY,sOffset,sData))
		{
			arDimen.append(_tstof(sOffset));
		}
	}

	if (arDimen.length() > 0)
	{
		arDimen.removeLast();
	}

	return arDimen.length();
}